package com.tecnoin.tintconta.core;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.tecnoin.tintconta.core.entities.Cuenta;
import com.tecnoin.tintconta.core.entities.Empresa;
import com.tecnoin.tintconta.core.entities.Partida;
import com.tecnoin.tintconta.core.persist.TINTContabilidadPersist;

/**
 * 
 * @author vasuncion
 *
 */
public class TINTContabilidadController 
{
	public static final String KEY_CONTEXT = "keyContextTINTDBCOngtrlrBean";
	
	/**
	 * Empresa Sesion
	 */
	private Empresa empresaSesion = null;
	/**
	 * Filtro de las partidas
	 */
	private FiltroLibroDiario filtroPartidas = null;
	
	private List<Partida> libroDiarioFiltrado = new ArrayList<Partida>();
	
	/**
	 * @return the filtroPartidas
	 */
	public FiltroLibroDiario getFiltroPartidas() {
		return filtroPartidas;
	}

	/**
	 * @param filtroPartidas the filtroPartidas to set
	 */
	public void setFiltroPartidas(FiltroLibroDiario filtroPartidas) {
		this.filtroPartidas = filtroPartidas;
	}

	public String seleccionarEmpresa(int id)
	{
		Empresa emp = TINTContabilidadPersist.seleccionarEmpresa(id);
		setEmpresaSesion(emp);
		FiltroLibroDiario filtro = new FiltroLibroDiario();
		filtro.setEjercicio(emp.getEjercicioActivo());
		setFiltroPartidas(filtro);
		return null;
	}

	/**
	 * Libro Diario Actual
	 * @return
	 */
	public List<Partida> libroDiarioActual()
	{
		libroDiarioFiltrado.clear();
		llenar(libroDiarioFiltrado);
		return libroDiarioFiltrado;
	}
	
	private void llenar(List<Partida> libroDiarioFiltrado2) 
	{
		TINTContabilidadPersist.filtrarPartidas(libroDiarioFiltrado2, getFiltroPartidas(), getEmpresaSesion());
	}

	/**
	 * @return the empresaSesion
	 */
	public Empresa getEmpresaSesion() {
		return empresaSesion;
	}

	/**
	 * @param empresaSesion the empresaSesion to set
	 */
	public void setEmpresaSesion(Empresa empresaSesion) {
		this.empresaSesion = empresaSesion;
	}
	
}